/*
* Get Organized - Organize your schedule, course assignments, and grades
* Copyright © 2012 Alex Laird
* getorganized@alexlaird.com
* alexlaird.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package adl.go.gui;
import adl.go.gui.ColoredComponent.GradientStyle;
import adl.go.resource.PrintUtilities;
import adl.go.types.Course;
import adl.go.types.ExtendedTreeNode;
import adl.go.types.Term;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import java.text.MessageFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.ResourceBundle;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.attribute.Attribute;
import javax.print.attribute.AttributeSet;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.Copies;
import javax.print.attribute.standard.JobName;
import javax.print.attribute.standard.SheetCollate;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JTable.PrintMode;
import javax.swing.border.TitledBorder;
import javax.swing.tree.TreePath;
/**
* The Import from Backup dialog.
*
* @author Alex Laird
*/
public class PrintDialog extends EscapeDialog
{
/**
* The model for available printers.
*/
private DefaultComboBoxModel printersModel = new DefaultComboBoxModel ();
/**
* The model for available views.
*/
private DefaultComboBoxModel viewsModel = new DefaultComboBoxModel ();
/**
* The model for available sorting modes.
*/
private DefaultComboBoxModel sortingModel = new DefaultComboBoxModel ();
/**
* The model for available terms and courses.
*/
private DefaultComboBoxModel termsAndCoursesModel = new DefaultComboBoxModel ();
/**
* The model for available sorting means.
*/
private DefaultComboBoxModel ascDescModel = new DefaultComboBoxModel ();
/**
* The model for the month names model.
*/
private DefaultComboBoxModel monthNamesModel1 = new DefaultComboBoxModel ();
/**
* The model for the month names model.
*/
private DefaultComboBoxModel monthNamesModel2 = new DefaultComboBoxModel ();
/**
* True while components are initializing, false otherwise.
*/
private boolean initLoading = true;
/**
* The current printer selected.
*/
private PrintService curPrinter = null;
/**
* Construct the Print dialog.
*/
public PrintDialog(ViewPanel viewPanel)
{
super (viewPanel.mainFrame);
setMainPanel (viewPanel);
initComponents ();
}
/**
* Initialize the Print dialog.
*/
public void init()
{
setTitle (viewPanel.domain.language.getString ("print"));
viewsModel.addElement (viewPanel.domain.language.getString ("listView"));
viewsModel.addElement (viewPanel.domain.language.getString ("calendarView"));
sortingModel.addElement (viewPanel.domain.language.getString ("done"));
sortingModel.addElement (viewPanel.domain.language.getString ("task"));
sortingModel.addElement (viewPanel.domain.language.getString ("type"));
sortingModel.addElement (viewPanel.domain.language.getString ("course") + "/" + viewPanel.domain.language.getString ("category"));
sortingModel.addElement (viewPanel.domain.language.getString ("dueDate"));
sortingModel.addElement (viewPanel.domain.language.getString ("grade"));
ascDescModel.addElement (viewPanel.domain.language.getString ("ascending"));
ascDescModel.addElement (viewPanel.domain.language.getString ("descending"));
monthNamesModel1.addElement (viewPanel.domain.language.getString ("january"));
monthNamesModel1.addElement (viewPanel.domain.language.getString ("february"));
monthNamesModel1.addElement (viewPanel.domain.language.getString ("march"));
monthNamesModel1.addElement (viewPanel.domain.language.getString ("april"));
monthNamesModel1.addElement (viewPanel.domain.language.getString ("may"));
monthNamesModel1.addElement (viewPanel.domain.language.getString ("june"));
monthNamesModel1.addElement (viewPanel.domain.language.getString ("july"));
monthNamesModel1.addElement (viewPanel.domain.language.getString ("august"));
monthNamesModel1.addElement (viewPanel.domain.language.getString ("september"));
monthNamesModel1.addElement (viewPanel.domain.language.getString ("october"));
monthNamesModel1.addElement (viewPanel.domain.language.getString ("november"));
monthNamesModel1.addElement (viewPanel.domain.language.getString ("december"));
monthNamesModel2.addElement (viewPanel.domain.language.getString ("january"));
monthNamesModel2.addElement (viewPanel.domain.language.getString ("february"));
monthNamesModel2.addElement (viewPanel.domain.language.getString ("march"));
monthNamesModel2.addElement (viewPanel.domain.language.getString ("april"));
monthNamesModel2.addElement (viewPanel.domain.language.getString ("may"));
monthNamesModel2.addElement (viewPanel.domain.language.getString ("june"));
monthNamesModel2.addElement (viewPanel.domain.language.getString ("july"));
monthNamesModel2.addElement (viewPanel.domain.language.getString ("august"));
monthNamesModel2.addElement (viewPanel.domain.language.getString ("september"));
monthNamesModel2.addElement (viewPanel.domain.language.getString ("october"));
monthNamesModel2.addElement (viewPanel.domain.language.getString ("november"));
monthNamesModel2.addElement (viewPanel.domain.language.getString ("december"));
printPanel.setBackground (viewPanel.domain.utility.currentTheme.colorSingleWindowBackground1);
printButton.setBackground (viewPanel.domain.utility.currentTheme.colorButtonBackground);
printCloseButton.setBackground (viewPanel.domain.utility.currentTheme.colorButtonBackground);
printBottomJPanel.setBackground (viewPanel.domain.utility.currentTheme.colorDoubleWindowBottomBackground1);
printTopJPanel.setBackground (viewPanel.domain.utility.currentTheme.colorDoubleWindowTopBackground1);
printCloseButton.setBackground (viewPanel.domain.utility.currentTheme.colorButtonBackground);
printCloseButton.setFont (viewPanel.domain.utility.currentTheme.fontPlain12);
printButton.setBackground (viewPanel.domain.utility.currentTheme.colorButtonBackground);
printButton.setFont (viewPanel.domain.utility.currentTheme.fontPlain12);
printLabel.setFont (viewPanel.domain.utility.currentTheme.fontBold14);
nameLabel.setFont (viewPanel.domain.utility.currentTheme.fontBold12);
statusLabel.setFont (viewPanel.domain.utility.currentTheme.fontBold12);
typeLabel.setFont (viewPanel.domain.utility.currentTheme.fontBold12);
infoLabel.setFont (viewPanel.domain.utility.currentTheme.fontBold12);
nameComboBox.setFont (viewPanel.domain.utility.currentTheme.fontPlain12);
propertiesButton.setFont (viewPanel.domain.utility.currentTheme.fontPlain12);
statusResponseLabel.setFont (viewPanel.domain.utility.currentTheme.fontPlain12);
typeResponseLabel.setFont (viewPanel.domain.utility.currentTheme.fontPlain12);
infoResponseLabel.setFont (viewPanel.domain.utility.currentTheme.fontPlain12);
numCopiesLabel.setFont (viewPanel.domain.utility.currentTheme.fontBold12);
collateCheckBox.setFont (viewPanel.domain.utility.currentTheme.fontBold12);
numCopiesSpinner.setFont (viewPanel.domain.utility.currentTheme.fontPlain12);
viewLabel.setFont (viewPanel.domain.utility.currentTheme.fontBold12);
viewsComboBox.setFont (viewPanel.domain.utility.currentTheme.fontPlain12);
betweenLabel.setFont (viewPanel.domain.utility.currentTheme.fontBold12);
sortingByLabel.setFont (viewPanel.domain.utility.currentTheme.fontBold12);
sortingByComboBox.setFont (viewPanel.domain.utility.currentTheme.fontPlain12);
contentsLabel.setFont (viewPanel.domain.utility.currentTheme.fontBold12);
contentsComboBox.setFont (viewPanel.domain.utility.currentTheme.fontPlain12);
startMonthComboBox.setFont (viewPanel.domain.utility.currentTheme.fontPlain12);
endMonthComboBox.setFont (viewPanel.domain.utility.currentTheme.fontPlain12);
startYearSpinner.setFont (viewPanel.domain.utility.currentTheme.fontPlain12);
endYearSpinner.setFont (viewPanel.domain.utility.currentTheme.fontPlain12);
ascDescComboBox.setFont (viewPanel.domain.utility.currentTheme.fontPlain12);
contentsComboBox.setBackground (viewPanel.domain.utility.currentTheme.colorButtonBackground);
nameComboBox.setBackground (viewPanel.domain.utility.currentTheme.colorButtonBackground);
viewsComboBox.setBackground (viewPanel.domain.utility.currentTheme.colorButtonBackground);
startMonthComboBox.setBackground (viewPanel.domain.utility.currentTheme.colorButtonBackground);
endMonthComboBox.setBackground (viewPanel.domain.utility.currentTheme.colorButtonBackground);
startYearSpinner.setBackground (viewPanel.domain.utility.currentTheme.colorButtonBackground);
endYearSpinner.setBackground (viewPanel.domain.utility.currentTheme.colorButtonBackground);
sortingByComboBox.setBackground (viewPanel.domain.utility.currentTheme.colorButtonBackground);
contentsComboBox.setBackground (viewPanel.domain.utility.currentTheme.colorButtonBackground);
ascDescComboBox.setBackground (viewPanel.domain.utility.currentTheme.colorButtonBackground);
((TitledBorder) printServicePanel.getBorder ()).setTitleFont (viewPanel.domain.utility.currentTheme.fontPlain12);
((TitledBorder) printDetailsPanel.getBorder ()).setTitleFont (viewPanel.domain.utility.currentTheme.fontPlain12);
((TitledBorder) copiesPanel.getBorder ()).setTitleFont (viewPanel.domain.utility.currentTheme.fontPlain12);
initLoading = false;
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings ("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
printPanel = new adl.go.gui.ColoredJPanel(GradientStyle.VERTICAL_GRADIENT_DOWN, Color.WHITE);
printBottomJPanel = new adl.go.gui.ColoredJPanel(GradientStyle.NO_GRADIENT, Color.WHITE);
printServicePanel = new javax.swing.JPanel();
leftPanel = new javax.swing.JPanel();
nameLabel = new javax.swing.JLabel();
statusLabel = new javax.swing.JLabel();
typeLabel = new javax.swing.JLabel();
infoLabel = new javax.swing.JLabel();
rightPanel = new javax.swing.JPanel();
nameComboBox = new javax.swing.JComboBox();
propertiesButton = new javax.swing.JButton();
statusResponseLabel = new javax.swing.JLabel();
blankLabel1 = new javax.swing.JLabel();
typeResponseLabel = new javax.swing.JLabel();
blankLabel2 = new javax.swing.JLabel();
infoResponseLabel = new javax.swing.JLabel();
blankLabel3 = new javax.swing.JLabel();
copiesPanel = new javax.swing.JPanel();
numCopiesLabel = new javax.swing.JLabel();
numCopiesSpinner = new javax.swing.JSpinner();
collateCheckBox = new javax.swing.JCheckBox();
printDetailsPanel = new javax.swing.JPanel();
viewLabel = new javax.swing.JLabel();
viewsComboBox = new javax.swing.JComboBox();
calendarPanel = new javax.swing.JPanel();
betweenLabel = new javax.swing.JLabel();
listPanel = new javax.swing.JPanel();
sortingByLabel = new javax.swing.JLabel();
sortingByComboBox = new javax.swing.JComboBox();
ascDescComboBox = new javax.swing.JComboBox();
startMonthComboBox = new javax.swing.JComboBox();
startYearSpinner = new javax.swing.JSpinner();
endMonthComboBox = new javax.swing.JComboBox();
endYearSpinner = new javax.swing.JSpinner();
contentsLabel = new javax.swing.JLabel();
contentsComboBox = new javax.swing.JComboBox();
printTopJPanel = new adl.go.gui.ColoredJPanel(GradientStyle.VERTICAL_GRADIENT_DOWN, Color.WHITE);
printCloseButton = new javax.swing.JButton();
printButton = new javax.swing.JButton();
printLabel = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setModal(true);
setResizable(false);
printServicePanel.setBorder(javax.swing.BorderFactory.createTitledBorder(viewPanel.domain.language.getString ("printService")));
printServicePanel.setOpaque(false);
leftPanel.setOpaque(false);
leftPanel.setLayout(new java.awt.GridLayout(4, 1));
nameLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
nameLabel.setText(viewPanel.domain.language.getString ("name") + ": ");
leftPanel.add(nameLabel);
statusLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
statusLabel.setText(viewPanel.domain.language.getString ("status") + ": ");
leftPanel.add(statusLabel);
typeLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
typeLabel.setText(viewPanel.domain.language.getString ("type") + ": ");
leftPanel.add(typeLabel);
infoLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
infoLabel.setText(viewPanel.domain.language.getString ("info") + ": ");
leftPanel.add(infoLabel);
rightPanel.setOpaque(false);
rightPanel.setLayout(new java.awt.GridLayout(4, 2, 10, 0));
nameComboBox.setModel(printersModel);
nameComboBox.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
nameComboBoxActionPerformed(evt);
}
});
rightPanel.add(nameComboBox);
propertiesButton.setText(viewPanel.domain.language.getString ("properties"));
propertiesButton.setEnabled(false);
rightPanel.add(propertiesButton);
rightPanel.add(statusResponseLabel);
rightPanel.add(blankLabel1);
rightPanel.add(typeResponseLabel);
rightPanel.add(blankLabel2);
rightPanel.add(infoResponseLabel);
rightPanel.add(blankLabel3);
javax.swing.GroupLayout printServicePanelLayout = new javax.swing.GroupLayout(printServicePanel);
printServicePanel.setLayout(printServicePanelLayout);
printServicePanelLayout.setHorizontalGroup(
printServicePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, printServicePanelLayout.createSequentialGroup()
.addComponent(leftPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 95, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(rightPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 390, Short.MAX_VALUE))
);
printServicePanelLayout.setVerticalGroup(
printServicePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(leftPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 108, Short.MAX_VALUE)
.addComponent(rightPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 108, Short.MAX_VALUE)
);
copiesPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(viewPanel.domain.language.getString ("copies")));
copiesPanel.setOpaque(false);
numCopiesLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
numCopiesLabel.setText(viewPanel.domain.language.getString("numberOfCopies") + ": ");
numCopiesSpinner.setModel(new javax.swing.SpinnerNumberModel(Integer.valueOf(1), Integer.valueOf(1), null, Integer.valueOf(1)));
collateCheckBox.setText(viewPanel.domain.language.getString("collate"));
collateCheckBox.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
javax.swing.GroupLayout copiesPanelLayout = new javax.swing.GroupLayout(copiesPanel);
copiesPanel.setLayout(copiesPanelLayout);
copiesPanelLayout.setHorizontalGroup(
copiesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, copiesPanelLayout.createSequentialGroup()
.addGroup(copiesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(collateCheckBox, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 161, Short.MAX_VALUE)
.addComponent(numCopiesLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 161, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(numCopiesSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
);
copiesPanelLayout.setVerticalGroup(
copiesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(copiesPanelLayout.createSequentialGroup()
.addGroup(copiesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(numCopiesLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(numCopiesSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(collateCheckBox)
.addContainerGap())
);
printDetailsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(viewPanel.domain.language.getString ("printDetails")));
printDetailsPanel.setOpaque(false);
viewLabel.setText(viewPanel.domain.language.getString ("view") + ": ");
viewsComboBox.setModel(viewsModel);
viewsComboBox.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
viewsComboBoxActionPerformed(evt);
}
});
calendarPanel.setOpaque(false);
betweenLabel.setText(viewPanel.domain.language.getString ("between") + ": ");
listPanel.setOpaque(false);
sortingByLabel.setText(viewPanel.domain.language.getString ("sortingBy") + ": ");
sortingByComboBox.setModel(sortingModel);
sortingByComboBox.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
sortingByComboBoxActionPerformed(evt);
}
});
ascDescComboBox.setModel(ascDescModel);
ascDescComboBox.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
ascDescComboBoxActionPerformed(evt);
}
});
javax.swing.GroupLayout listPanelLayout = new javax.swing.GroupLayout(listPanel);
listPanel.setLayout(listPanelLayout);
listPanelLayout.setHorizontalGroup(
listPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, listPanelLayout.createSequentialGroup()
.addComponent(sortingByLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 84, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(listPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(ascDescComboBox, javax.swing.GroupLayout.Alignment.TRAILING, 0, 155, Short.MAX_VALUE)
.addComponent(sortingByComboBox, javax.swing.GroupLayout.Alignment.TRAILING, 0, 155, Short.MAX_VALUE)))
);
listPanelLayout.setVerticalGroup(
listPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(listPanelLayout.createSequentialGroup()
.addGroup(listPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(sortingByLabel)
.addComponent(sortingByComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(ascDescComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
);
startMonthComboBox.setModel(monthNamesModel1);
startYearSpinner.setModel(new javax.swing.SpinnerNumberModel(Integer.valueOf(0), Integer.valueOf(0), null, Integer.valueOf(1)));
startYearSpinner.setEditor(new javax.swing.JSpinner.NumberEditor(startYearSpinner, "#"));
endMonthComboBox.setModel(monthNamesModel2);
endYearSpinner.setModel(new javax.swing.SpinnerNumberModel());
endYearSpinner.setEditor(new javax.swing.JSpinner.NumberEditor(endYearSpinner, "#"));
javax.swing.GroupLayout calendarPanelLayout = new javax.swing.GroupLayout(calendarPanel);
calendarPanel.setLayout(calendarPanelLayout);
calendarPanelLayout.setHorizontalGroup(
calendarPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(calendarPanelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(calendarPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(listPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(calendarPanelLayout.createSequentialGroup()
.addComponent(betweenLabel)
.addGap(58, 58, 58))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, calendarPanelLayout.createSequentialGroup()
.addComponent(startMonthComboBox, 0, 154, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(startYearSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
.addGroup(calendarPanelLayout.createSequentialGroup()
.addComponent(endMonthComboBox, 0, 154, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(endYearSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())))
);
calendarPanelLayout.setVerticalGroup(
calendarPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(calendarPanelLayout.createSequentialGroup()
.addComponent(betweenLabel)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(calendarPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(startMonthComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(startYearSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(calendarPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(endMonthComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(endYearSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(listPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
contentsLabel.setText(viewPanel.domain.language.getString ("content") + ": ");
contentsComboBox.setModel(termsAndCoursesModel);
contentsComboBox.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
contentsComboBoxActionPerformed(evt);
}
});
javax.swing.GroupLayout printDetailsPanelLayout = new javax.swing.GroupLayout(printDetailsPanel);
printDetailsPanel.setLayout(printDetailsPanelLayout);
printDetailsPanelLayout.setHorizontalGroup(
printDetailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(printDetailsPanelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(printDetailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(calendarPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, printDetailsPanelLayout.createSequentialGroup()
.addComponent(viewLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 84, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(viewsComboBox, 0, 165, Short.MAX_VALUE))
.addGroup(printDetailsPanelLayout.createSequentialGroup()
.addComponent(contentsLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 84, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(contentsComboBox, 0, 165, Short.MAX_VALUE)))
.addContainerGap())
);
printDetailsPanelLayout.setVerticalGroup(
printDetailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(printDetailsPanelLayout.createSequentialGroup()
.addGroup(printDetailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(viewLabel)
.addComponent(viewsComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(calendarPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(printDetailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(contentsLabel)
.addComponent(contentsComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
javax.swing.GroupLayout printBottomJPanelLayout = new javax.swing.GroupLayout(printBottomJPanel);
printBottomJPanel.setLayout(printBottomJPanelLayout);
printBottomJPanelLayout.setHorizontalGroup(
printBottomJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(printBottomJPanelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(printBottomJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(printServicePanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, printBottomJPanelLayout.createSequentialGroup()
.addComponent(printDetailsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(copiesPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
);
printBottomJPanelLayout.setVerticalGroup(
printBottomJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(printBottomJPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(printServicePanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(printBottomJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(copiesPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(printDetailsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
printTopJPanel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
printCloseButton.setText(viewPanel.domain.language.getString ("close"));
printCloseButton.setToolTipText(viewPanel.domain.language.getString ("closeToolTip"));
printCloseButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
printCloseButtonActionPerformed(evt);
}
});
printButton.setText(viewPanel.domain.language.getString ("print"));
printButton.setToolTipText(viewPanel.domain.language.getString ("printButtonToolTip"));
printButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
printButtonActionPerformed(evt);
}
});
printLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adl/go/images/printer.png"))); // NOI18N
printLabel.setText(viewPanel.domain.language.getString ("print"));
javax.swing.GroupLayout printTopJPanelLayout = new javax.swing.GroupLayout(printTopJPanel);
printTopJPanel.setLayout(printTopJPanelLayout);
printTopJPanelLayout.setHorizontalGroup(
printTopJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(printTopJPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(printLabel)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(printButton)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 212, Short.MAX_VALUE)
.addComponent(printCloseButton)
.addContainerGap())
);
printTopJPanelLayout.setVerticalGroup(
printTopJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(printTopJPanelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(printTopJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(printLabel)
.addComponent(printButton)
.addComponent(printCloseButton))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
javax.swing.GroupLayout printPanelLayout = new javax.swing.GroupLayout(printPanel);
printPanel.setLayout(printPanelLayout);
printPanelLayout.setHorizontalGroup(
printPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(printTopJPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(printBottomJPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
printPanelLayout.setVerticalGroup(
printPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(printPanelLayout.createSequentialGroup()
.addComponent(printTopJPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(printBottomJPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(printPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(printPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void printCloseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_printCloseButtonActionPerformed
dispose ();
viewPanel.requestFocus ();
}//GEN-LAST:event_printCloseButtonActionPerformed
private void printButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_printButtonActionPerformed
// close the current print dialog
dispose ();
viewPanel.printingDialog.setLocationRelativeTo (viewPanel);
viewPanel.printingDialog.setVisible (true);
viewPanel.printingDialog.requestFocus ();
new Thread (new Runnable ()
{
@Override
public void run()
{
try
{
String strDate = MessageFormat.format ("{0,date,short} {0,time,short}", new Date ());
String headerString = "Get Organized - " + strDate;
String name = "Get Organized";
if (!viewPanel.domain.utility.userDetails.getStudentName ().equals (""))
{
name = viewPanel.domain.utility.userDetails.getStudentName () + " - " + name;
headerString = viewPanel.domain.utility.userDetails.getStudentName () + " - " + headerString;
}
MessageFormat header = new MessageFormat (headerString);
MessageFormat footer = new MessageFormat ("- Page {0} -");
if (viewsComboBox.getSelectedIndex () == 0)
{
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet ();
aset.add (new JobName (name, Locale.getDefault ()));
aset.add (new Copies (Integer.parseInt (numCopiesSpinner.getValue ().toString ())));
if (collateCheckBox.isSelected ())
{
aset.add (SheetCollate.COLLATED);
}
else
{
aset.add (SheetCollate.UNCOLLATED);
}
viewPanel.assignmentsTable.print (PrintMode.FIT_WIDTH, header, footer, false, aset, false, curPrinter);
}
else
{
Dimension oldDim = viewPanel.mainFrame.getSize ();
Date oldDate = viewPanel.miniCalendar.getDate ();
viewPanel.mainFrame.setSize (1092, 900);
PrinterJob pj = PrinterJob.getPrinterJob ();
pj.setCopies (Integer.parseInt (numCopiesSpinner.getValue ().toString ()));
pj.setPrintService (curPrinter);
pj.setJobName (name);
Calendar currDate = Calendar.getInstance ();
currDate.set (Calendar.DAY_OF_MONTH, 1);
currDate.set (Calendar.MONTH, startMonthComboBox.getSelectedIndex ());
currDate.set (Calendar.YEAR, Integer.parseInt (startYearSpinner.getValue ().toString ()));
Calendar endDate = Calendar.getInstance ();
endDate.set (Calendar.MONTH, endMonthComboBox.getSelectedIndex ());
endDate.set (Calendar.YEAR, Integer.parseInt (endYearSpinner.getValue ().toString ()));
endDate.set (Calendar.DAY_OF_MONTH, endDate.getActualMaximum (Calendar.DAY_OF_MONTH));
while (currDate.before (endDate))
{
viewPanel.miniCalendar.setDate (currDate.getTime ());
viewPanel.loadCalendarView (false);
PrintUtilities.printComponent (viewPanel.monthViewPanel, pj);
currDate.add (Calendar.MONTH, 1);
}
viewPanel.miniCalendar.setDate (oldDate);
viewPanel.loadCalendarView (true);
viewPanel.mainFrame.setSize (oldDim);
}
viewPanel.printingDialog.dispose ();
}
catch (PrinterException ex)
{
}
}
}).start ();
}//GEN-LAST:event_printButtonActionPerformed
private void viewsComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_viewsComboBoxActionPerformed
if (viewsComboBox.getSelectedIndex () == 0)
{
for (int i = 0; i < calendarPanel.getComponentCount (); ++i)
{
calendarPanel.getComponent (i).setEnabled (false);
}
for (int i = 0; i < listPanel.getComponentCount (); ++i)
{
listPanel.getComponent (i).setEnabled (true);
}
}
else
{
for (int i = 0; i < calendarPanel.getComponentCount (); ++i)
{
calendarPanel.getComponent (i).setEnabled (true);
}
for (int i = 0; i < listPanel.getComponentCount (); ++i)
{
listPanel.getComponent (i).setEnabled (false);
}
}
if (!initLoading)
{
viewPanel.middleTabbedPane.setSelectedIndex (viewsComboBox.getSelectedIndex ());
}
}//GEN-LAST:event_viewsComboBoxActionPerformed
private void sortingByComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_sortingByComboBoxActionPerformed
if (!initLoading)
{
if (sortingByComboBox.getSelectedIndex () != viewPanel.assignmentsTableModel.getColumnSorting ())
{
initLoading = true;
ascDescComboBox.setSelectedIndex (0);
initLoading = false;
}
viewPanel.assignmentsTableHeaderSelected (null, sortingByComboBox.getSelectedIndex ());
}
}//GEN-LAST:event_sortingByComboBoxActionPerformed
private void contentsComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_contentsComboBoxActionPerformed
if (!initLoading)
{
Object obj = contentsComboBox.getSelectedItem ();
if (obj instanceof ExtendedTreeNode)
{
viewPanel.termTree.setSelectionPath (new TreePath (((ExtendedTreeNode) obj).getPath ()));
}
else
{
viewPanel.termTree.setSelectionPath (null);
}
}
}//GEN-LAST:event_contentsComboBoxActionPerformed
private void ascDescComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ascDescComboBoxActionPerformed
if (!initLoading)
{
if ((viewPanel.domain.utility.preferences.sortAscending && ascDescComboBox.getSelectedIndex () != 0)
|| (!viewPanel.domain.utility.preferences.sortAscending && ascDescComboBox.getSelectedIndex () != 1))
{
viewPanel.assignmentsTable.getColumnModel ().getColumn (viewPanel.assignmentsTableModel.getColumnSorting ()).setHeaderValue (viewPanel.assignmentsTable.getColumnModel ().getColumn (viewPanel.assignmentsTableModel.getColumnSorting ()).getHeaderValue ().toString ().replaceAll ("\\<html\\>|\\<b\\>|\\</html\\>|\\</b\\>", ""));
viewPanel.assignmentsTableModel.setColumnSorting (sortingByComboBox.getSelectedIndex ());
viewPanel.assignmentsTable.getColumnModel ().getColumn (viewPanel.assignmentsTableModel.getColumnSorting ()).setHeaderValue ("<html><b>" + viewPanel.assignmentsTable.getColumnModel ().getColumn (viewPanel.assignmentsTableModel.getColumnSorting ()).getHeaderValue () + "</b></html>");
viewPanel.filter (true);
viewPanel.domain.utility.preferences.sortIndex = viewPanel.assignmentsTableModel.getColumnSorting ();
viewPanel.domain.utility.preferences.sortAscending = viewPanel.assignmentsTableModel.isSortAscending ();
viewPanel.domain.needsPreferencesSave = true;
}
}
}//GEN-LAST:event_ascDescComboBoxActionPerformed
private void nameComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nameComboBoxActionPerformed
if (!initLoading)
{
for (PrintService printer : PrintServiceLookup.lookupPrintServices (null, null))
{
if (printer.hashCode () == ((PrinterItem) nameComboBox.getSelectedItem ()).code)
{
AttributeSet att = printer.getAttributes ();
for (Attribute a : att.toArray ())
{
// Change to the new printer
curPrinter = printer;
String attributeName;
String attributeValue;
attributeName = a.getName ();
attributeValue = att.get (a.getClass ()).toString ();
if (attributeName.equals ("printer-is-accepting-jobs"))
{
if (attributeValue.equals ("accepting-jobs"))
{
statusResponseLabel.setText ("Online");
}
else
{
statusResponseLabel.setText ("Offline");
}
}
else if (attributeName.equals ("color-supported"))
{
if (attributeValue.equals ("supported"))
{
infoResponseLabel.setText ("Color support");
}
else
{
infoResponseLabel.setText ("No color support");
}
}
}
}
}
}
}//GEN-LAST:event_nameComboBoxActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
protected javax.swing.JComboBox ascDescComboBox;
private javax.swing.JLabel betweenLabel;
private javax.swing.JLabel blankLabel1;
private javax.swing.JLabel blankLabel2;
private javax.swing.JLabel blankLabel3;
private javax.swing.JPanel calendarPanel;
private javax.swing.JCheckBox collateCheckBox;
protected javax.swing.JComboBox contentsComboBox;
private javax.swing.JLabel contentsLabel;
private javax.swing.JPanel copiesPanel;
protected javax.swing.JComboBox endMonthComboBox;
private javax.swing.JSpinner endYearSpinner;
private javax.swing.JLabel infoLabel;
private javax.swing.JLabel infoResponseLabel;
private javax.swing.JPanel leftPanel;
private javax.swing.JPanel listPanel;
protected javax.swing.JComboBox nameComboBox;
private javax.swing.JLabel nameLabel;
private javax.swing.JLabel numCopiesLabel;
private javax.swing.JSpinner numCopiesSpinner;
protected adl.go.gui.ColoredJPanel printBottomJPanel;
private javax.swing.JButton printButton;
private javax.swing.JButton printCloseButton;
private javax.swing.JPanel printDetailsPanel;
private javax.swing.JLabel printLabel;
protected adl.go.gui.ColoredJPanel printPanel;
private javax.swing.JPanel printServicePanel;
protected adl.go.gui.ColoredJPanel printTopJPanel;
private javax.swing.JButton propertiesButton;
private javax.swing.JPanel rightPanel;
protected javax.swing.JComboBox sortingByComboBox;
private javax.swing.JLabel sortingByLabel;
protected javax.swing.JComboBox startMonthComboBox;
private javax.swing.JSpinner startYearSpinner;
private javax.swing.JLabel statusLabel;
private javax.swing.JLabel statusResponseLabel;
private javax.swing.JLabel typeLabel;
private javax.swing.JLabel typeResponseLabel;
private javax.swing.JLabel viewLabel;
protected javax.swing.JComboBox viewsComboBox;
// End of variables declaration//GEN-END:variables
/**
* Launch the dialog.
*/
protected void goViewPrint()
{
initLoading = true;
viewPanel.closeOpenWindows ();
printersModel.removeAllElements ();
int defaultIndex = -1;
int curIndex = 0;
for (PrintService printer : PrintServiceLookup.lookupPrintServices (null, null))
{
if (printer == PrintServiceLookup.lookupDefaultPrintService ())
{
curPrinter = printer;
defaultIndex = curIndex;
}
printersModel.addElement (new PrinterItem (printer.getName (), printer.hashCode ()));
++curIndex;
}
if (defaultIndex != -1)
{
nameComboBox.setSelectedIndex (defaultIndex);
}
else
{
if (PrintServiceLookup.lookupPrintServices (null, null).length > 0)
{
curPrinter = PrintServiceLookup.lookupPrintServices (null, null)[0];
}
}
startMonthComboBox.setSelectedIndex (viewPanel.miniCalendar.getMonthChooser ().getMonth ());
endMonthComboBox.setSelectedIndex (viewPanel.miniCalendar.getMonthChooser ().getMonth ());
startYearSpinner.setValue (viewPanel.miniCalendar.getYearChooser ().getYear ());
endYearSpinner.setValue (viewPanel.miniCalendar.getYearChooser ().getYear ());
viewsComboBox.setSelectedIndex (viewPanel.middleTabbedPane.getSelectedIndex ());
viewsComboBoxActionPerformed (null);
sortingByComboBox.setSelectedIndex (viewPanel.domain.utility.preferences.sortIndex);
ascDescComboBox.setSelectedIndex ((viewPanel.domain.utility.preferences.sortAscending) ? 0 : 1);
// fill the content combo with terms and courses
termsAndCoursesModel.removeAllElements ();
termsAndCoursesModel.addElement ("-" + viewPanel.domain.language.getString ("all") + "-");
for (int i = 0; i < viewPanel.domain.utility.terms.size (); ++i)
{
Term term = viewPanel.domain.utility.terms.get (i);
termsAndCoursesModel.addElement (term);
for (int j = 0; j < term.getCourseCount (); ++j)
{
Course course = term.getCourse (j);
termsAndCoursesModel.addElement (course);
}
}
initLoading = false;
nameComboBoxActionPerformed (null);
if (viewPanel.getSelectedCourseIndex () != -1)
{
contentsComboBox.setSelectedItem (viewPanel.domain.utility.courses.get (viewPanel.getSelectedCourseIndex ()));
}
else if (viewPanel.getSelectedTermIndex () != -1)
{
contentsComboBox.setSelectedItem (viewPanel.domain.utility.terms.get (viewPanel.getSelectedTermIndex ()));
}
else
{
contentsComboBox.setSelectedIndex (0);
}
viewPanel.printingDialog.pack ();
pack ();
setLocationRelativeTo (viewPanel);
setVisible (true);
}
/**
* Apply the language for this dialog.
*
* @param language The language resource to be applied.
*/
public void applyLanguage(ResourceBundle language)
{
}
}
class PrinterItem
{
protected String name;
protected int code;
PrinterItem(String name, int code)
{
this.name = name;
this.code = code;
}
@Override
public String toString()
{
return name;
}
}